﻿using System;
using System.Linq;

namespace LayerEntity.Producto
{
    public class EProducto : EFamilia
    {
        #region CONSTRUCTORES
        public EProducto()
        {
            this.id_producto = string.Empty;
            this.minicodigo = string.Empty;
            this.descripcion = string.Empty;
            this.descripcion_larga = string.Empty;
            this.cod_bar = string.Empty;
            this.inc_serie = string.Empty;
            this.prod_serv = string.Empty;
            this.inc_barra = string.Empty;
            this.impuesto = 0.0;
            this.reintegro_tributario = string.Empty;
            this.partida_arancelaria = string.Empty;
            this.ubica_almacen = string.Empty;
            this.pide_objetivos = string.Empty;
            this.obs_compra = string.Empty;
            this.obs_ventas = string.Empty;
            this.controla_stock = string.Empty;
            this.prececible = string.Empty;
            this.suje_peresepcion = string.Empty;
            this.vende_pack = string.Empty;
            this.idfamilia = string.Empty;
        }
        public EProducto(System.Data.IDataRecord record)
        {
            this.id_producto = record ["id_producto"].ToString();
            this.minicodigo = record["minicodigo"].ToString();
            this.descripcion = record["descripcion"].ToString();
            this.descripcion_larga = record["descripcion_larga"].ToString();
            this.cod_bar = record["cod_bar"].ToString();
            this.inc_serie = record["inc_serie"].ToString ();
            this.prod_serv = record["prod_serv"].ToString ();
            this.inc_barra = record["inc_barra"].ToString ();
            this.impuesto = Convert.ToDouble(record ["impuesto"].ToString());
            this.reintegro_tributario = record ["reintegro_tributario"].ToString();
            this.partida_arancelaria = record["partida_arancelaria"].ToString() ;
            this.ubica_almacen = record["ubica_almacen"].ToString() ;
            this.pide_objetivos =  record["pide_objetivos"].ToString();
            this.obs_compra = record["obs_compra"].ToString();
            this.obs_ventas = record["obs_ventas"].ToString();
            this.controla_stock = record ["controla_stock"].ToString ();
            this.prececible =  record["perecible"].ToString ();
            this.suje_peresepcion =  record ["suje_peresepcion"].ToString ();
            this.vende_pack = record ["vende_pack"].ToString();
            this.idfamilia =  record ["idfamilia"].ToString();
        }
        
        #endregion
        #region Metodos
        public object[] ToObjectData(int operacion)
        {
            object[] obj = new object[]
            {
                operacion,
                this.id_producto,
                this.minicodigo,
                this.descripcion,
                this.descripcion_larga,
                this.cod_bar,
                this.inc_serie,
                this.prod_serv,
                this.inc_barra,
                this.impuesto,
                this.reintegro_tributario,
                this.partida_arancelaria,
                this.ubica_almacen,
                this.pide_objetivos,
                this.obs_compra,
                this.obs_ventas,
                this.controla_stock,
                this.prececible,
                this.suje_peresepcion,
                this.vende_pack,
                this.idfamilia,
                this.Id_Estado
            };
            return obj;
        }

        #endregion
        #region popiedades

        public string id_producto { get; set; }
        public string minicodigo { get; set; }
        public string descripcion { get; set; }
        public string descripcion_larga { get; set; }
        public string cod_bar { get; set; }
        public string inc_serie { get; set; }
        public string prod_serv { get; set; }
        public string inc_barra { get; set; }
        public double impuesto { get; set; }
        public string reintegro_tributario { get; set; }
        public string partida_arancelaria { get; set; }
        public string ubica_almacen { get; set; }
        public string pide_objetivos { get; set; }
        public string obs_compra { get; set; }
        public string obs_ventas { get; set; }
        public string controla_stock { get; set; }
        public string prececible { get; set; }
        public string suje_peresepcion { get; set; }
        public string vende_pack { get; set; }
        #endregion
    }
}